Table of Contents

Interface ICodeSessionService

Namespace
FoundationaLLM.Context.Interfaces
Assembly
FoundationaLLM.ContextEngine.dll

Definest the interface for the FoundationaLLM Code Session service.

public interface ICodeSessionService
Extension Methods

Methods

CreateCodeSession(string, CreateCodeSessionRequest, UnifiedUserIdentity)

Creates a new code session using one of the registered code session providers.

Task<Result<CreateCodeSessionResponse>> CreateCodeSession(string instanceId, CreateCodeSessionRequest codeSessionRequest, UnifiedUserIdentity userIdentity)

Parameters

instanceId string

The unique identifier of the FoundationaLLM instance.

codeSessionRequest CreateCodeSessionRequest

The CreateCodeSessionRequest providing the details of the request to create the code session.

userIdentity UnifiedUserIdentity

The UnifiedUserIdentity providing the user identity information.

Returns

Task<Result<CreateCodeSessionResponse>>

A Task producing a Result<T> whose value is a CreateCodeSessionResponse on success; otherwise a failed Result<T> with a domain error.

DownloadFilesFromCodeSession(string, string, string, UnifiedUserIdentity)

Downloads newly created files from a code session.

Task<Result<CodeSessionFileDownloadResponse>> DownloadFilesFromCodeSession(string instanceId, string sessionId, string operationId, UnifiedUserIdentity userIdentity)

Parameters

instanceId string

The FoundationaLLM instance identifier.

sessionId string

The identifier of the code session from where the files must be downloaded.

operationId string

The code session file upload operation identifier.

userIdentity UnifiedUserIdentity

The UnifiedUserIdentity providing the user identity information.

Returns

Task<Result<CodeSessionFileDownloadResponse>>

A Task producing a Result<T> whose value is a CodeSessionFileDownloadResponse containing downloaded file records and any errors; otherwise a failed result with a domain error.

Remarks

By newly created files we mean files that were not uploaded to the code session but were created during the code execution. The operationId is the identifier of the file upload operation that initially uploaded the files.

ExecuteCodeInCodeSession(string, string, string, UnifiedUserIdentity)

Executes code in a code session and returns the result of the execution.

Task<Result<CodeSessionCodeExecuteResponse>> ExecuteCodeInCodeSession(string instanceId, string sessionId, string codeToExecute, UnifiedUserIdentity userIdentity)

Parameters

instanceId string

The FoundationaLLM instance identifier.

sessionId string

The identifier of the code session where the code must be executed.

codeToExecute string

The code to execute.

userIdentity UnifiedUserIdentity

The UnifiedUserIdentity providing the user identity information.

Returns

Task<Result<CodeSessionCodeExecuteResponse>>

A Task producing a Result<T> whose value is a CodeSessionCodeExecuteResponse with execution status, result, standard output, and error output; otherwise a failed result with a domain error.

UploadFilesToCodeSession(string, string, CodeSessionFileUploadRequest, UnifiedUserIdentity)

Uploads files to a code session.

Task<Result<CodeSessionFileUploadResponse>> UploadFilesToCodeSession(string instanceId, string sessionId, CodeSessionFileUploadRequest request, UnifiedUserIdentity userIdentity)

Parameters

instanceId string

The FoundationaLLM instance identifier.

sessionId string

The identifier of the code session where the files must be uploaded.

request CodeSessionFileUploadRequest

The CodeSessionFileUploadRequest providing the details of the request.

userIdentity UnifiedUserIdentity

The UnifiedUserIdentity providing the user identity information.

Returns

Task<Result<CodeSessionFileUploadResponse>>

A Task producing a Result<T> whose value is a CodeSessionFileUploadResponse containing per-file upload success data; otherwise a failed result with a domain error.