Pipeline

gitinsp.domain.interfaces.application.Pipeline
trait Pipeline

Core service orchestrating the workflow of the Git Inspector application Coordinates interactions between various services including chat, repository indexing, content retrieval, and AI service management

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def buildRepository(url: URL, languages: List[Language]): Try[GitRepository]

Builds a repository model from a URL and a list of languages

Builds a repository model from a URL and a list of languages

Value parameters

languages

The programming languages to filter for

url

The URL of the repository to build

Attributes

Returns

A Git repository model wrapped in a Try

def chat(message: String, aiService: Assistant): StreamedResponse

Processes a user message with the specified AI assistant

Processes a user message with the specified AI assistant

Value parameters

aiService

The AI assistant implementation to use

message

The message to be processed

Attributes

Returns

A streaming response with the AI-generated content

def deleteIndex(index: URL, category: Category): Try[Unit]

Deletes an index by URL and category

Deletes an index by URL and category

Value parameters

category

The category (CODE or TEXT) of the index to delete

index

The URL of the index to delete

Attributes

Returns

A Try indicating success or failure of the deletion

def fetchRepository(url: URL, languages: List[Language]): Try[String]

Fetches content from a repository

Fetches content from a repository

Value parameters

languages

The programming languages to filter for

url

The URL of the repository to fetch

Attributes

Returns

A string containing the repository content wrapped in a Try

def generateIndex(repository: GitRepository, regenerate: Boolean): Try[Unit]

Generates or regenerates an index for a repository

Generates or regenerates an index for a repository

Value parameters

regenerate

Whether to delete existing index before generating a new one

repository

The Git repository to index

Attributes

Returns

A Try indicating success or failure of the operation

def getAIService(index: Option[AIServiceURL]): Try[Assistant]

Retrieves an AI assistant service for a given index

Retrieves an AI assistant service for a given index

Value parameters

index

Optional AI service URL to use (uses default if None)

Attributes

Returns

An AI assistant implementation wrapped in a Try

def listIndexes(): Try[List[AIServiceURL]]

Retrieves a list of all available AI service indexes

Retrieves a list of all available AI service indexes

Attributes

Returns

A list of AI service URLs wrapped in a Try

def regenerateIndex(repository: GitRepository): Try[Unit]

Regenerates an index for a repository by first deleting the existing one

Regenerates an index for a repository by first deleting the existing one

Value parameters

repository

The Git repository to reindex

Attributes

Returns

A Try indicating success or failure of the operation