API Reference proto_rune v0.1.2

Modules

The ProtoRune.Bot module provides the foundational behavior and macros for building bots in the ProtoRune ecosystem. It defines the basic structure for bots and ensures that every bot adheres to a consistent interface, with customizable event handling, identifier, and password retrieval.

A GenServer module that handles periodic polling of notifications for a bot, and dispatches these notifications to the appropriate handler functions within the bot.

The ProtoRune.Bot.Server module is responsible for managing bot processes in ProtoRune. It handles bot initialization, session management, and event/message dispatching. This module also integrates with the polling system to retrieve real-time notifications from ATProto and Bluesky services.

Type definitions for the Intermediate Representation (IR) of AT Protocol Lexicons. This structure serves as a bridge between raw lexicon JSON and generated Elixir code.

Parses AT Protocol Lexicon files and converts them into Elixir code structures.

Yeah, in house string casing

The XRPC.Client module handles executing queries and procedures in the XRPC system. It interacts with external services through HTTP requests and performs response validation and schema parsing. The client supports both GET and POST requests, depending on whether the request is a query or a procedure.

The XRPC.DSL module provides macros to define queries and procedures for interacting with the XRPC system, simplifying the creation of API methods for querying or performing procedures. It supports building custom XRPC queries and procedures by encoding method names and dynamically generating functions based on user-defined parameters.

The XRPC.Procedure module represents a procedure in the XRPC system, encapsulating the method name, request body, and a parser for validating the body. It provides functions to create and manipulate procedure structures.

The XRPC.Query module is responsible for defining and managing queries in the XRPC system. It encapsulates the method, parameters, headers, and an optional parser, providing functions to create and manipulate query structures.

Mix Tasks

Generates Elixir code from Lexicon schema files.

Handles generation of Elixir code from parsed Lexicon definitions.

Handles parsing of Lexicon JSON schema files.

Maps Lexicon types to Elixir type specifications.