lesser

module
v1.1.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2026 License: AGPL-3.0

README

Lesser

A serverless, cost-optimized ActivityPub implementation built with Go, AWS Lambda, and the Lift framework.

Overview

Lesser is a Mastodon-compatible federated social media platform that runs entirely on AWS serverless infrastructure. It provides full ActivityPub federation while maintaining costs at a fraction of traditional server-based implementations.

Key Features

  • Full ActivityPub Support: Complete federation with Mastodon and other ActivityPub servers
  • Serverless Architecture: Dozens of Lambda functions for API + background processing
  • Cost Optimization: Built-in cost tracking and budget controls for sustainable operation
  • Multi-Tenant Support: Run multiple instances from a single deployment
  • GraphQL API: Modern API with 60+ operations alongside Mastodon REST compatibility
  • WebSocket Streaming: Real-time updates for timelines and notifications
  • AI Integration: Optional semantic search and content moderation via AWS Bedrock
  • Enterprise Monitoring: CloudWatch dashboards, EMF metrics, and comprehensive alerting

Architecture

Lesser uses AWS CDK with the Lift framework for infrastructure:

  • Lambda Functions: Event-driven compute for all operations
  • DynamoDB: Single-table design with 8 GSIs for efficient queries
  • S3 + CloudFront: Global CDN for media delivery
  • API Gateway: HTTP API with custom domain support
  • SQS: Reliable message queuing for federation and async processing
  • EventBridge: Scheduled tasks for aggregation and maintenance

Quick Start

Prerequisites
  • AWS credentials configured (for example: aws sso login --profile ... or aws configure)
  • AWS CDK v2 installed (npm install -g aws-cdk)
  • Go 1.25 or later
  • A public Route53 hosted zone that exactly matches your base domain (for example: example.com)
Basic Deployment
# Build the operator CLI
go build -o lesser ./cmd/lesser

# Deploy dev + live (and optionally staging)
./lesser up \
  --app my-lesser \
  --base-domain example.com \
  --aws-profile Penny \
  --out ~/.lesser/my-lesser/example.com/bootstrap.json

Notes:

  • The live stage uses the apex domain (example.com), while dev uses dev.example.com (and staging uses staging.example.com if enabled).
  • On first deploy, --out <path> is required so you don’t lose the 24-word Ethereum mnemonic (the file is created with 0600 permissions).
  • A local deployment receipt is written to ~/.lesser/<app>/<base-domain>/state.json.

Project Structure

lesser/
├── cmd/                    # Lambda function entry points
│   ├── api/               # Main REST API handler
│   ├── graphql/           # GraphQL API handler
│   ├── federation-delivery/ # ActivityPub delivery
│   ├── inbox/             # ActivityPub inbox
│   ├── outbox/            # ActivityPub outbox
│   └── ...                # 18 more specialized functions
├── pkg/                    # Core packages
│   ├── activitypub/       # ActivityPub protocol implementation
│   ├── auth/              # Authentication (WebAuthn, OAuth, crypto wallets)
│   ├── federation/        # Federation routing and optimization
│   ├── lift/              # Lift framework extensions
│   ├── services/          # Domain services (accounts, lists, etc.)
│   ├── storage/           # DynamoDB repositories and models
│   └── streaming/         # WebSocket and real-time updates
├── infra/
│   └── cdk/               # AWS CDK infrastructure
│       ├── stacks/        # CDK stack definitions
│       ├── constructs/    # Reusable CDK constructs
│       └── config/        # Reference templates (not loaded by CDK app)
└── graph/                  # GraphQL schema and resolvers

Configuration

Infrastructure defaults (memory/timeouts, tables/buckets, CloudFront, etc.) live in infra/cdk/stacks/ and infra/cdk/inventory/.

Environment Variables

Runtime configuration is managed in AWS for deployed stacks; see docs/configuration.md for the canonical reference.

Key configuration options:

INSTANCE_TITLE="My Lesser Instance"
INSTANCE_ADMIN_EMAIL="admin@yourdomain.com"
FEDERATION_ENABLED=true
REGISTRATIONS_OPEN=false
MAX_STATUS_CHARS=5000

Cost Management

Lesser includes comprehensive cost tracking:

  • Real-time cost calculation for every operation
  • Per-instance budgets with automatic enforcement
  • Cost aggregation via scheduled Lambda functions
  • Budget alerts through SNS and CloudWatch

Typical monthly costs:

  • Development: < $5
  • Small instance (100 users): $10-20
  • Medium instance (1000 users): $50-100
  • Large instance (10000 users): $200-500

Monitoring

Built-in observability features:

  • CloudWatch Dashboards: Comprehensive metrics for all components
  • EMF Metrics: Structured metrics with dimensions
  • X-Ray Tracing: Distributed tracing for debugging
  • Custom Alarms: Automatic alerting for errors and performance issues

Access your dashboard at:

./lesser dashboard --app <app> --env live --region us-east-1

API Documentation

Lesser provides three API interfaces:

REST API (Mastodon-compatible)
  • Full Mastodon v1 API compatibility
  • Additional Lesser-specific endpoints
  • OAuth 2.0 authentication
GraphQL API
  • 60+ operations for queries, mutations, and subscriptions
  • DataLoader for N+1 query prevention
  • Real-time subscriptions via WebSocket
  • Published schema: The canonical schema we ship to clients lives at docs/contracts/graphql-schema.graphql. It is generated from the modular source files (graph/core.graphql, graph/phase1.graphql, graph/phase2.graphql, graph/phase3.graphql) by running ./lesser schema (or ./scripts/generate_schema.sh). Always rerun it before sharing or checking in schema changes so frontend teams see every type in one place.
WebSocket Streaming
  • Real-time timeline updates
  • Notification streaming
  • Presence and typing indicators

Development

Building Locally
# Install dependencies
go mod download

# Build the Lesser CLI
go build -o lesser ./cmd/lesser

# Run tests
./lesser test

# Build all Lambda functions
./lesser build lambdas

# Run specific function locally
cd cmd/api
go run main.go
Testing
# Unit tests
./lesser test

# Short unit sweep used by verify
./lesser test unit

# Unified verification (Spec 07 R6: lambda set, inventory, docs, unit tests)
./lesser verify

# Enable optional smoke suites inside verify (non-destructive HTTP only)
./lesser verify --smoke --smoke-base-url=https://lesser.host --smoke-token="Bearer xyz" --smoke-username=alice --smoke-object-id=123

# Run smoke suites directly
./lesser smoke core --base-url=https://lesser.host --token="Bearer xyz"
./lesser smoke federation --base-url=https://lesser.host --username=alice --object-id=123

# Enable optional CDK synth inside verify
./lesser verify --cdk --cdk-aws-profile=<profile> --cdk-region=us-east-1

Federation

Lesser implements the full ActivityPub protocol:

  • Inbox/Outbox: Complete activity processing
  • WebFinger: User discovery
  • HTTP Signatures: Secure federation
  • Relay Support: Optional relay configuration
  • Instance Blocks: Moderation tools

Security

  • Multi-factor Authentication: WebAuthn, TOTP, backup codes
  • OAuth 2.0: Secure third-party app access
  • Rate Limiting: DDoS protection via AWS WAF
  • Encryption: At-rest and in-transit encryption
  • Audit Logging: Comprehensive security event tracking

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

License

Lesser is licensed under the GNU Affero General Public License v3.0. See LICENSE for details.

Support

Acknowledgments

Lesser is built on:

  • Lift Framework for Lambda patterns
  • DynamORM for DynamoDB operations
  • gqlgen for GraphQL
  • The ActivityPub community for protocol specifications

Directories

Path Synopsis
cmd
activity-processor command
Package main implements activity processor error handlers.
Package main implements activity processor error handlers.
actor command
Package main implements the actor service Lambda function that handles ActivityPub actor operations, federation lookups, and actor profile management.
Package main implements the actor service Lambda function that handles ActivityPub actor operations, federation lookups, and actor profile management.
ai-processor command
Package main implements an AI-powered content analysis processor that monitors DynamoDB streams for new content, performs toxicity detection, spam analysis, and automated moderation actions using AWS Bedrock.
Package main implements an AI-powered content analysis processor that monitors DynamoDB streams for new content, performs toxicity detection, spam analysis, and automated moderation actions using AWS Bedrock.
api command
Package main contains the Lesser API Lambda entrypoint and shared middleware.
Package main contains the Lesser API Lambda entrypoint and shared middleware.
api/handlers
Package handlers implements API handlers and supporting helpers for the API Lambda function.
Package handlers implements API handlers and supporting helpers for the API Lambda function.
api/models
Package models contains data models used by the API Lambda function.
Package models contains data models used by the API Lambda function.
cloudfront-keygen command
Package main implements a CloudFormation custom resource Lambda function that generates RSA-2048 key pairs for CloudFront signed URLs at deployment time.
Package main implements a CloudFormation custom resource Lambda function that generates RSA-2048 key pairs for CloudFront signed URLs at deployment time.
cms-scheduler command
Package main implements the cms-scheduler Lambda function for publishing scheduled CMS drafts.
Package main implements the cms-scheduler Lambda function for publishing scheduled CMS drafts.
collections command
Package main implements the collections Lambda function for serving ActivityPub federation collections.
Package main implements the collections Lambda function for serving ActivityPub federation collections.
configure-instance command
Package main implements the configure-instance Lambda function for managing instance configuration.
Package main implements the configure-instance Lambda function for managing instance configuration.
cost-aggregator command
Package main implements the cost-aggregator Lambda function for aggregating and analyzing AWS costs.
Package main implements the cost-aggregator Lambda function for aggregating and analyzing AWS costs.
dlq-processor command
Package main implements the dlq-processor Lambda function for processing dead letter queue messages.
Package main implements the dlq-processor Lambda function for processing dead letter queue messages.
enhanced-federation-processor command
Package main implements the enhanced federation processor Lambda function for handling advanced federation workflows with retry and compression capabilities.
Package main implements the enhanced federation processor Lambda function for handling advanced federation workflows with retry and compression capabilities.
export-generator command
Package main provides error functions for the export-generator Lambda function.
Package main provides error functions for the export-generator Lambda function.
federation-aggregator command
Package main implements the federation-aggregator Lambda function for aggregating federation statistics.
Package main implements the federation-aggregator Lambda function for aggregating federation statistics.
federation-delivery command
Package main implements the federation-delivery Lambda function for delivering ActivityPub messages to remote instances.
Package main implements the federation-delivery Lambda function for delivering ActivityPub messages to remote instances.
federation-timeseries command
Package main implements the federation-timeseries Lambda function for processing federation time-series data.
Package main implements the federation-timeseries Lambda function for processing federation time-series data.
federation-tracker command
Package main implements the federation-tracker Lambda function for tracking federation relationships and activity.
Package main implements the federation-tracker Lambda function for tracking federation relationships and activity.
graphql command
Package main implements the graphql Lambda function for serving GraphQL API endpoints.
Package main implements the graphql Lambda function for serving GraphQL API endpoints.
graphql-ws command
Package main implements the GraphQL WebSocket Lambda entrypoint.
Package main implements the GraphQL WebSocket Lambda entrypoint.
import-processor command
Package main defines error functions for the import-processor Lambda function.
Package main defines error functions for the import-processor Lambda function.
inbox command
Package main provides the Lambda entrypoint for the inbox handler.
Package main provides the Lambda entrypoint for the inbox handler.
inbox/internal/routing
Package routing implements error handlers for the inbox Lambda function.
Package routing implements error handlers for the inbox Lambda function.
inbox/internal/validation
Package validation contains inbox-specific ActivityPub validation helpers.
Package validation contains inbox-specific ActivityPub validation helpers.
init-deploy command
Package main implements the init-deploy Lambda function for initializing deployment configuration.
Package main implements the init-deploy Lambda function for initializing deployment configuration.
lesser command
Package main implements the Lesser operator CLI (e.g.
Package main implements the Lesser operator CLI (e.g.
media-processor command
Package main implements the media-processor Lambda function for processing media attachments.
Package main implements the media-processor Lambda function for processing media attachments.
metrics-aggregator command
Package main implements the metrics-aggregator Lambda function for aggregating application metrics.
Package main implements the metrics-aggregator Lambda function for aggregating application metrics.
metrics-processor command
Package main implements the metrics-processor Lambda function for processing individual metrics events.
Package main implements the metrics-processor Lambda function for processing individual metrics events.
ml-training-processor command
Package main implements the ml-training-processor Lambda function for processing ML training job state changes.
Package main implements the ml-training-processor Lambda function for processing ML training job state changes.
moderation-processor command
Package main implements the moderation-processor Lambda function for processing content moderation tasks.
Package main implements the moderation-processor Lambda function for processing content moderation tasks.
note-processor command
Package main implements the note-processor Lambda function for processing ActivityPub notes and posts.
Package main implements the note-processor Lambda function for processing ActivityPub notes and posts.
notification-processor command
Package main implements the notification-processor Lambda function for processing user notifications.
Package main implements the notification-processor Lambda function for processing user notifications.
objects command
Package main implements the objects Lambda function for serving ActivityPub object endpoints.
Package main implements the objects Lambda function for serving ActivityPub object endpoints.
outbox command
Package main implements error handlers for the outbox Lambda function.
Package main implements error handlers for the outbox Lambda function.
owner-bootstrap command
Package main provides a CLI to bootstrap the initial owner/admin artifacts.
Package main provides a CLI to bootstrap the initial owner/admin artifacts.
push-delivery command
Package main implements the push-delivery Lambda function for delivering web push notifications.
Package main implements the push-delivery Lambda function for delivering web push notifications.
report-trust-updater command
Package main implements the report-trust-updater Lambda function for updating trust scores based on reports.
Package main implements the report-trust-updater Lambda function for updating trust scores based on reports.
search-indexer command
Package main implements the search-indexer Lambda function for indexing content for search functionality.
Package main implements the search-indexer Lambda function for indexing content for search functionality.
severance-processor command
Package main implements the severance-processor Lambda function for detecting federation severances.
Package main implements the severance-processor Lambda function for detecting federation severances.
sse command
Package main implements the sse Lambda function providing Mastodon-compatible Server-Sent Events (SSE) endpoints via API Gateway REST API (v1) response streaming.
Package main implements the sse Lambda function providing Mastodon-compatible Server-Sent Events (SSE) endpoints via API Gateway REST API (v1) response streaming.
status-indexer command
Package main implements the status-indexer Lambda function for indexing status updates for search and discovery.
Package main implements the status-indexer Lambda function for indexing status updates for search and discovery.
stream-router command
Package main implements the stream-router Lambda function for routing streaming events to WebSocket connections.
Package main implements the stream-router Lambda function for routing streaming events to WebSocket connections.
streaming command
Package main implements the streaming Lambda function for handling WebSocket connections and real-time streaming.
Package main implements the streaming Lambda function for handling WebSocket connections and real-time streaming.
trend-aggregator command
Package main implements the trend-aggregator Lambda function for aggregating trending content and hashtags.
Package main implements the trend-aggregator Lambda function for aggregating trending content and hashtags.
webfinger command
Package main implements the webfinger Lambda function for serving WebFinger discovery protocol endpoints.
Package main implements the webfinger Lambda function for serving WebFinger discovery protocol endpoints.
websocket-cost-aggregator command
Package main implements the websocket-cost-aggregator Lambda function for aggregating WebSocket connection costs.
Package main implements the websocket-cost-aggregator Lambda function for aggregating WebSocket connection costs.
Package graph implements the GraphQL API schema and resolvers.
Package graph implements the GraphQL API schema and resolvers.
model
Package model contains GraphQL model definitions and custom scalar types.
Package model contains GraphQL model definitions and custom scalar types.
pkg
activitypub
Package activitypub provides parsing and validation utilities for ActivityPub protocol messages.
Package activitypub provides parsing and validation utilities for ActivityPub protocol messages.
activitypubutil
Package activitypubutil contains helpers for constructing ActivityPub actors.
Package activitypubutil contains helpers for constructing ActivityPub actors.
agents
Package agents defines shared types and helpers for LLM agent accounts.
Package agents defines shared types and helpers for LLM agent accounts.
ai
Package ai provides configuration and threshold management for AI-based content moderation.
Package ai provides configuration and threshold management for AI-based content moderation.
api
Package api provides federation analytics API endpoints and handlers.
Package api provides federation analytics API endpoints and handlers.
apptheory
Package apptheory is Lesser's landing zone for AppTheory wiring and migration work.
Package apptheory is Lesser's landing zone for AppTheory wiring and migration work.
auth
Package auth provides common password validation and security utilities for authentication.
Package auth provides common password validation and security utilities for authentication.
auth/providers
Package providers defines OAuth provider interfaces and user information structures for social authentication.
Package providers defines OAuth provider interfaces and user information structures for social authentication.
aws
Package awsinit provides standardized AWS service initialization for Lambda functions.
Package awsinit provides standardized AWS service initialization for Lambda functions.
cache
Package cache provides efficient caching mechanisms for federation operations, particularly focused on caching public keys and instance metadata to improve ActivityPub federation performance and reduce external API calls.
Package cache provides efficient caching mechanisms for federation operations, particularly focused on caching public keys and instance metadata to improve ActivityPub federation performance and reduce external API calls.
common
Package common provides shared authentication helper functions and types for the Lesser project.
Package common provides shared authentication helper functions and types for the Lesser project.
config
Package config provides application configuration management for Lesser's serverless deployment.
Package config provides application configuration management for Lesser's serverless deployment.
cost
Package cost provides cost tracking functionality for AWS services
Package cost provides cost tracking functionality for AWS services
crawler
Package crawler provides bot/crawler defenses for Lesser's public HTTP surface (e.g.
Package crawler provides bot/crawler defenses for Lesser's public HTTP surface (e.g.
dataloader
Package dataloader provides efficient batching and caching mechanisms for database operations.
Package dataloader provides efficient batching and caching mechanisms for database operations.
deploy/naming
Package naming provides deterministic names and domains for Lesser deployments.
Package naming provides deterministic names and domains for Lesser deployments.
dlq
Package dlq provides dead letter queue error classification and handling for failed message processing.
Package dlq provides dead letter queue error classification and handling for failed message processing.
emoji
Package emoji provides utilities for parsing and handling custom emoji in ActivityPub messages and Mastodon-compatible APIs.
Package emoji provides utilities for parsing and handling custom emoji in ActivityPub messages and Mastodon-compatible APIs.
errors
Package errors defines common error types and constants used across the Lesser ActivityPub service layer.
Package errors defines common error types and constants used across the Lesser ActivityPub service layer.
federation
Package federation provides ActivityPub federation services including authorized fetch and object retrieval.
Package federation provides ActivityPub federation services including authorized fetch and object retrieval.
federation/circuit
Package circuit provides error constants for circuit breaker operations.
Package circuit provides error constants for circuit breaker operations.
federation/cost
Package cost provides AWS cost calculation utilities for federation operations.
Package cost provides AWS cost calculation utilities for federation operations.
federation/health
Package health defines event types for federation health monitoring and EventBridge integration.
Package health defines event types for federation health monitoring and EventBridge integration.
federation/routing
Package routing provides distributed circuit breaker implementation for federation request routing.
Package routing provides distributed circuit breaker implementation for federation request routing.
federation/sync
Package sync provides thread synchronization utilities for ActivityPub conversation management.
Package sync provides thread synchronization utilities for ActivityPub conversation management.
federation/types
Package types defines shared data structures for ActivityPub federation.
Package types defines shared data structures for ActivityPub federation.
graphql/limits
Package limits provides reusable gqlgen extensions for enforcing abuse-resilient GraphQL execution limits.
Package limits provides reusable gqlgen extensions for enforcing abuse-resilient GraphQL execution limits.
httpclient
Package httpclient provides HTTP client utilities with DNS caching and security features for federation requests.
Package httpclient provides HTTP client utilities with DNS caching and security features for federation requests.
jsonld
Package jsonld provides JSON-LD canonicalization following URDNA2015 algorithm.
Package jsonld provides JSON-LD canonicalization following URDNA2015 algorithm.
logging
Package logging provides robust, structured logging capabilities for the application, including sensitive data scrubbing and audit logging.
Package logging provides robust, structured logging capabilities for the application, including sensitive data scrubbing and audit logging.
mastodon
Package mastodon provides Mastodon API compatibility services for actor and account management.
Package mastodon provides Mastodon API compatibility services for actor and account management.
mastodon/transformers
Package transformers provides consolidated Mastodon API transformations for converting between storage models and Mastodon API response formats.
Package transformers provides consolidated Mastodon API transformations for converting between storage models and Mastodon API response formats.
media
Package media provides media processing analytics and bandwidth monitoring for S3 and CloudFront usage.
Package media provides media processing analytics and bandwidth monitoring for S3 and CloudFront usage.
media/streaming
Package streaming provides serverless-optimized media streaming functionality.
Package streaming provides serverless-optimized media streaming functionality.
moderation
Package moderation provides AI-powered content analysis using AWS Comprehend and Rekognition for automated content moderation.
Package moderation provides AI-powered content analysis using AWS Comprehend and Rekognition for automated content moderation.
moderation/advanced
Package advanced provides sophisticated content moderation decision engines with threat analysis.
Package advanced provides sophisticated content moderation decision engines with threat analysis.
monitoring
Package monitoring provides production alerting and monitoring capabilities for serverless applications.
Package monitoring provides production alerting and monitoring capabilities for serverless applications.
notes
Package notes provides community note scoring algorithms and visibility calculations for content annotation.
Package notes provides community note scoring algorithms and visibility calculations for content annotation.
notifications
Package notifications provides push notification services using SQS for message queuing and delivery.
Package notifications provides push notification services using SQS for message queuing and delivery.
observability
Package observability provides a standalone alert repository to avoid import cycles
Package observability provides a standalone alert repository to avoid import cycles
privacy
Package privacy provides cryptographically secure privacy-preserving hashing utilities for protecting sensitive user data while maintaining analytical capabilities.
Package privacy provides cryptographically secure privacy-preserving hashing utilities for protecting sensitive user data while maintaining analytical capabilities.
ratelimit
Package ratelimit provides helpers for applying distributed request throttling.
Package ratelimit provides helpers for applying distributed request throttling.
reports
Package reports provides enhanced content reporting services with trust integration and moderation workflow.
Package reports provides enhanced content reporting services with trust integration and moderation workflow.
reputation
Package reputation provides actor reputation calculation algorithms based on activity history and trust metrics.
Package reputation provides actor reputation calculation algorithms based on activity history and trust metrics.
security/authz
Package authz provides role-based authorization helpers.
Package authz provides role-based authorization helpers.
security/headers
Package headers provides helpers for security-related HTTP headers.
Package headers provides helpers for security-related HTTP headers.
security/htmlsafe
Package htmlsafe provides small helpers for producing safe HTML output.
Package htmlsafe provides small helpers for producing safe HTML output.
services
Package services provides a unified service layer for business logic operations
Package services provides a unified service layer for business logic operations
services/accounts
Package accounts provides the core Accounts Service for the Lesser project's API alignment.
Package accounts provides the core Accounts Service for the Lesser project's API alignment.
services/ai
Package ai provides AI integration services for content moderation and assistance
Package ai provides AI integration services for content moderation and assistance
services/bulk
Package bulk provides bulk operation services for the Lesser ActivityPub server.
Package bulk provides bulk operation services for the Lesser ActivityPub server.
services/cms
Package cms provides services for Content Management System functionality
Package cms provides services for Content Management System functionality
services/conversations
Package conversations provides the core Conversations Service for the Lesser project's API alignment.
Package conversations provides the core Conversations Service for the Lesser project's API alignment.
services/cost
Package cost provides cost analytics and tracking services for monitoring and optimizing platform expenses across all service components.
Package cost provides cost analytics and tracking services for monitoring and optimizing platform expenses across all service components.
services/emoji
Package emoji provides custom emoji management services for the Lesser ActivityPub server.
Package emoji provides custom emoji management services for the Lesser ActivityPub server.
services/federationgraph
Package federationgraph provides federation graph visualization services.
Package federationgraph provides federation graph visualization services.
services/hashtags
Package hashtags implements the hashtag follow/mute business logic used by GraphQL resolvers.
Package hashtags implements the hashtag follow/mute business logic used by GraphQL resolvers.
services/importexport
Package importexport provides data portability services for the Lesser ActivityPub server.
Package importexport provides data portability services for the Lesser ActivityPub server.
services/lists
Package lists provides the core Lists Service for the Lesser project's API alignment.
Package lists provides the core Lists Service for the Lesser project's API alignment.
services/media
Package media provides the core Media Service for the Lesser project's API alignment.
Package media provides the core Media Service for the Lesser project's API alignment.
services/media/transcoding
Package transcoding provides CloudFront signed URL generation
Package transcoding provides CloudFront signed URL generation
services/moderationml
Package moderationml provides ML-powered moderation capabilities using AWS Bedrock.
Package moderationml provides ML-powered moderation capabilities using AWS Bedrock.
services/notes
Package notes provides the core Notes Service for the Lesser project's API alignment.
Package notes provides the core Notes Service for the Lesser project's API alignment.
services/notifications
Package notifications provides the Notifications Service for the Lesser project's API alignment.
Package notifications provides the Notifications Service for the Lesser project's API alignment.
services/performance
Package performance provides performance monitoring and metrics aggregation services.
Package performance provides performance monitoring and metrics aggregation services.
services/quotes
Package quotes provides error handling utilities for quote operations.
Package quotes provides error handling utilities for quote operations.
services/relationships
Package relationships provides error handling utilities for relationship operations.
Package relationships provides error handling utilities for relationship operations.
services/scheduled
Package scheduled provides scheduled status management services for the Lesser ActivityPub server.
Package scheduled provides scheduled status management services for the Lesser ActivityPub server.
services/search
Package search provides search and discovery services for the Lesser ActivityPub server.
Package search provides search and discovery services for the Lesser ActivityPub server.
services/severance
Package severance implements the severed relationships service
Package severance implements the severed relationships service
services/streaminganalytics
Package streaminganalytics provides streaming analytics and performance telemetry services.
Package streaminganalytics provides streaming analytics and performance telemetry services.
services/threads
Package threads provides thread synchronization and traversal services
Package threads provides thread synchronization and traversal services
ssrf
Package ssrf provides SSRF protection utilities.
Package ssrf provides SSRF protection utilities.
storage
Package storage provides account data structures and types for user authentication and profile management.
Package storage provides account data structures and types for user authentication and profile management.
storage/core
Package core provides core storage interfaces and repository access patterns for the DynamORM migration.
Package core provides core storage interfaces and repository access patterns for the DynamORM migration.
storage/cost
Package storagecost provides DynamORM-based storage implementation for cost tracking and analytics.
Package storagecost provides DynamORM-based storage implementation for cost tracking and analytics.
storage/factory
Package factory provides repository factory implementation for centralized storage dependency management.
Package factory provides repository factory implementation for centralized storage dependency management.
storage/interfaces
Package interfaces defines the repository interfaces for the Lesser application.
Package interfaces defines the repository interfaces for the Lesser application.
storage/models
Package models provides DynamORM data models for account features and relationship management.
Package models provides DynamORM data models for account features and relationship management.
storage/repositories
Package repositories provides DynamORM repository implementations for account and user management operations.
Package repositories provides DynamORM repository implementations for account and user management operations.
storage/theorydb
Package theorydb provides repository interfaces and implementations backed by the TheoryDB adapter layer.
Package theorydb provides repository interfaces and implementations backed by the TheoryDB adapter layer.
storage/theorydb/batch
Package batch provides efficient batch processing capabilities for DynamoDB operations.
Package batch provides efficient batch processing capabilities for DynamoDB operations.
storage/theorydb/hooks
Package hooks provides lifecycle hook management for DynamORM model operations with cost tracking integration.
Package hooks provides lifecycle hook management for DynamORM model operations with cost tracking integration.
storage/theorydb/marshalers
Package marshalers provides custom DynamoDB marshaling utilities with encryption support for sensitive data using DynamORM.
Package marshalers provides custom DynamoDB marshaling utilities with encryption support for sensitive data using DynamORM.
storage/theorydb/migrations
Package migrations defines constants and status values for DynamORM database migration management.
Package migrations defines constants and status values for DynamORM database migration management.
storage/theorydb/patterns
Package patterns provides soft delete functionality and patterns for DynamORM model operations.
Package patterns provides soft delete functionality and patterns for DynamORM model operations.
storage/theorydb/repositories
Package repositories provides batch operation repositories with cost tracking for DynamORM operations.
Package repositories provides batch operation repositories with cost tracking for DynamORM operations.
storage/theorydb/repositories/testing
Package testing provides test utilities and helpers for DynamORM repository testing with mock support.
Package testing provides test utilities and helpers for DynamORM repository testing with mock support.
storage/theorydb/stream
Package stream provides DynamoDB stream event handlers for real-time data processing with TableTheory.
Package stream provides DynamoDB stream event handlers for real-time data processing with TableTheory.
storage/theorydb/validation
Package validation provides validation rules and utilities for DynamORM model data integrity.
Package validation provides validation rules and utilities for DynamORM model data integrity.
storage/types
Package types defines shared data structures for media objects.
Package types defines shared data structures for media objects.
streaming
Package streaming provides shared helper functions for WebSocket command handlers
Package streaming provides shared helper functions for WebSocket command handlers
streaming/handlers
Package handlers provides WebSocket command handlers for different domains
Package handlers provides WebSocket command handlers for different domains
testing
Package testing provides common test utilities and constants for the Lesser test suite.
Package testing provides common test utilities and constants for the Lesser test suite.
testing/benchmarks
Package benchmarks provides API performance benchmarks
Package benchmarks provides API performance benchmarks
testing/cost
Package cost provides comprehensive cost analysis testing utilities for AWS service usage validation.
Package cost provides comprehensive cost analysis testing utilities for AWS service usage validation.
testing/factories
Package factories provides test data factories for consistent test data generation
Package factories provides test data factories for consistent test data generation
testing/harness
Package harness provides API client utilities for integration testing
Package harness provides API client utilities for integration testing
testing/inmemory
Package inmemory provides thread-safe in-memory implementations of repository interfaces.
Package inmemory provides thread-safe in-memory implementations of repository interfaces.
testing/integration
Package integration provides end-to-end Lambda function testing utilities and test case management.
Package integration provides end-to-end Lambda function testing utilities and test case management.
testing/mocks
Package mocks provides mock implementations for testing.
Package mocks provides mock implementations for testing.
testing/theorydb
Package theorydb provides test utilities for validating TheoryDB/DynamORM-backed repositories.
Package theorydb provides test utilities for validating TheoryDB/DynamORM-backed repositories.
tips
Package tips provides helpers for Lesser's on-chain tipping integration.
Package tips provides helpers for Lesser's on-chain tipping integration.
transformations
Package transformations provides utility functions for converting ActivityPub objects and actors to Mastodon API compatible models and data structures.
Package transformations provides utility functions for converting ActivityPub objects and actors to Mastodon API compatible models and data structures.
translation
Package translation provides AWS Translate integration with caching for multilingual content support.
Package translation provides AWS Translate integration with caching for multilingual content support.
trends
Package trends provides trending content analysis and aggregation services.
Package trends provides trending content analysis and aggregation services.
trust
Package trust provides trust relationship management and vouching services for actor reputation systems.
Package trust provides trust relationship management and vouching services for actor reputation systems.
validation
Package validation provides input validation for ActivityPub objects and endpoints
Package validation provides input validation for ActivityPub objects and endpoints
version
Package version provides build information and version details for Lesser.
Package version provides build information and version details for Lesser.
websocket
Package websocket provides WebSocket subscription management with API Gateway integration for real-time notifications.
Package websocket provides WebSocket subscription management with API Gateway integration for real-time notifications.
Package main provides a mock generation utility for storage interface implementations using Go AST parsing.
Package main provides a mock generation utility for storage interface implementations using Go AST parsing.
Package main provides migration tooling for converting Lift storage calls to DynamORM repository patterns.
Package main provides migration tooling for converting Lift storage calls to DynamORM repository patterns.
ai_training_verify command
Command ai_training_verify validates docs/ai-training for completeness and drift.
Command ai_training_verify validates docs/ai-training for completeness and drift.
audit_gates command
Package main provides static audit gates used by `lesser verify audit`.
Package main provides static audit gates used by `lesser verify audit`.
coverage_scoreboard command
coverage_scoreboard prints a package- or file-level coverage summary from a Go coverprofile.
coverage_scoreboard prints a package- or file-level coverage summary from a Go coverprofile.
graphql_coverage command
Package main provides an offline verifier for Lesser's GraphQL coverage inventory.
Package main provides an offline verifier for Lesser's GraphQL coverage inventory.
openapi command
Package main provides a drift-checked OpenAPI generator for Lesser's REST surface.
Package main provides a drift-checked OpenAPI generator for Lesser's REST surface.
ws_smoke command
Package main provides a WebSocket smoke check used by `scripts/smoke_core.sh`.
Package main provides a WebSocket smoke check used by `scripts/smoke_core.sh`.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL