View Source API Reference fnord v0.6.3

Modules

AI

AI is a behavior module that defines the interface for interacting with OpenAI's API. It provides a common interface for the various OpenAI-powered operations used by the application.

When file or other input to too large for the model's context window, this module may be used to process the file in chunks. It automatically modifies the supplied agent prompt to include instructions for accumulating a response across multiple chunks based on the context (max context window tokens) parameter supplied by the model parameter.

This module provides an agent that summarizes files' contents in order to generate embeddings for the database and summaries for the user.

The Planner Agent is a multi-modal agent that assists the Coordinating Agent in managing the research process.

This module sends a request to the model and handles the response. It is able to handle tool calls and responses.

This module provides functions to interact with the OpenAI API, including getting embeddings and completions.

This module is used to split a string into chunks by the number of tokens, while accounting for other data that might be going with it to the API endpoint with the limited token count.

Oh yeah? I'm gonna make my own tokenizer, with blackjack and hookers!

Implements the default tokenizer behaviour for AI.Tokenizer.

This module implements the cl100k-base tokenizer model used by OpenAI's text-embedding-3-large model.

This module implements the o200k-base tokenizer model used by OpenAI's gpt-4o models.

This module defines the behaviour for tool calls. Defining a new tool requires implementing the spec/0 and call/2 functions.

This tool generates a response to the user using a template that is appropriate for the user's query.

Cmd

Fnord is a code search tool that uses OpenAI's embeddings API to index and search code files.

Git

Module for interacting with git.

This behaviour wraps the AI-powered operations used by Cmd.Index to allow overrides for testing. See impl/0.

Public API for generating shell completion scripts.

Bash completion script generator. This module should not be used directly. Instead, use the Shell.Completion module to generate completion scripts.

Zsh completion script generator. This module should not be used directly. Instead, use the Shell.Completion module to generate completion scripts.

Converts an Optimus spec into the Shell.Completion DSL format.

Conversations are stored per project in the project's store dir, under converations/. Each conversation is given a UUID identifier and stored as a JSON file with the keys

This module provides access to canned research strategies. Strategies are stored in data/strategies.yaml in the repo, but are read into this module at compile time, so the file itself is not a part of the release binary.

UI