npm package: @pairsystems/goodmem-client
Description: JavaScript client for GoodMem API
Latest version: 1.0.11

# @pairsystems/goodmem-client

GoodMemClient - JavaScript client for @pairsystems/goodmem-client
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 
- Package version: 1.0.11
- Generator version: 7.22.0-SNAPSHOT
- Build package: org.openapitools.codegen.languages.JavascriptClientCodegen

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

To publish the library as a [npm](https://www.npmjs.com/), please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).

Then install it via:

```shell
npm install @pairsystems/goodmem-client --save
```

Finally, you need to build the module:

```shell
npm run build
```

##### Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing `package.json` (and this README). Let's call this `JAVASCRIPT_CLIENT_DIR`. Then run:

```shell
npm install
```

Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`:

```shell
npm link
```

To use the link you just defined in your project, switch to the directory you want to use your @pairsystems/goodmem-client from, and run:

```shell
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
```

Finally, you need to build the module:

```shell
npm run build
```

#### git

If the library is hosted at a git repository, e.g.https://github.com/PAIR-Systems-Inc/goodmem/clients/js
then install it via:

```shell
    npm install PAIR-Systems-Inc/goodmem/clients/js --save
```

### For browser

The library also works in the browser environment via npm and [browserify](http://browserify.org/). After following
the above steps with Node.js and installing browserify with `npm install -g browserify`,
perform the following (assuming *main.js* is your entry file):

```shell
browserify main.js > bundle.js
```

Then include *bundle.js* in the HTML pages.

### Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error:
Cannot resolve module", most certainly you should disable AMD loader. Add/merge
the following section to your webpack config:

```javascript
module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}
```

## Getting Started

Please follow the [installation](#installation) instruction and execute the following JS code:

```javascript
var GoodMemClient = require('@pairsystems/goodmem-client');

// Configure the API client
var defaultClient = GoodMemClient.ApiClient.instance;
defaultClient.basePath = "http://localhost:8080";  // Use your server URL

// Configure API key authentication: X-API-Key header
defaultClient.defaultHeaders = {
    "X-API-Key": "your-api-key-here",
    "Content-Type": "application/json",
    "Accept": "application/json"
};


var api = new GoodMemClient.APIKeysApi()
var createApiKeyRequest = {"labels":{"environment":"development","service":"chat-ui"},"expiresAt":1735689600000}; // {CreateApiKeyRequest} API key configuration
api.createApiKey(createApiKeyRequest).then(function(data) {
  console.log('API called successfully. Returned data: ' + data);
}, function(error) {
  console.error(error);
});


```



## Streaming Memory Retrieval

The GoodMem JavaScript client provides a `StreamingClient` class for real-time streaming memory retrieval. This is the **recommended approach** for memory retrieval operations.

### Supported Formats

The StreamingClient supports two streaming formats:

- **NDJSON** (`application/x-ndjson`) - Newline-delimited JSON (default, recommended)
- **SSE** (`text/event-stream`) - Server-Sent Events

### Basic Streaming with ChatPostProcessor

Use `retrieveMemoryStreamChat()` for streaming with automatic ChatPostProcessor configuration:

```javascript
const GoodMemClient = require('@pairsystems/goodmem-client');
const { StreamingClient } = GoodMemClient;

// Configure client
const defaultClient = GoodMemClient.ApiClient.instance;
defaultClient.basePath = 'http://localhost:8080';
defaultClient.defaultHeaders = {
    'X-API-Key': 'your-api-key'
};

// Create streaming client
const streamingClient = new StreamingClient(defaultClient);

// Create abort controller
const controller = new AbortController();

// Stream with ChatPostProcessor (NDJSON format)
streamingClient.retrieveMemoryStreamChat(
    controller.signal,
    'your search query',
    ['space-uuid'],
    10,                    // requested size
    true,                  // fetch memory
    false,                 // fetch memory content
    'ndjson',              // format (ndjson or sse)
    'llm-uuid',            // LLM ID
    'reranker-uuid',       // reranker ID
    0.5,                   // relevance threshold
    0.3,                   // LLM temperature
    10,                    // max results
    true                   // chronological resort
).then(async (stream) => {
    for await (const event of stream) {
        if (event.abstractReply) {
            console.log('Abstract:', event.abstractReply.text);
        } else if (event.retrievedItem && event.retrievedItem.memory) {
            console.log('Memory:', event.retrievedItem.memory);
        }
    }
}).catch(error => {
    console.error('Streaming error:', error);
});
```

### Advanced Streaming with Custom Post-Processor

Use `retrieveMemoryStreamAdvanced()` for custom post-processor configuration:

```javascript
// Create advanced request
const request = {
    message: 'your search query',
    spaceIds: ['space-uuid'],
    requestedSize: 10,
    fetchMemory: true,
    fetchMemoryContent: false,
    format: 'ndjson',  // or 'sse'
    postProcessorName: 'com.goodmem.retrieval.postprocess.ChatPostProcessorFactory',
    postProcessorConfig: {
        llm_id: 'llm-uuid',
        reranker_id: 'reranker-uuid',
        relevance_threshold: 0.5,
        llm_temp: 0.3,
        max_results: 10,
        chronological_resort: true
    }
};

// Execute advanced streaming
streamingClient.retrieveMemoryStreamAdvanced(controller.signal, request)
    .then(async (stream) => {
        for await (const event of stream) {
            if (event.abstractReply) {
                console.log('Abstract:', event.abstractReply.text);
            } else if (event.retrievedItem) {
                console.log('Retrieved:', event.retrievedItem);
            }
        }
    }).catch(error => {
        console.error('Streaming error:', error);
    });
```

### Choosing Between NDJSON and SSE

- **NDJSON** (recommended): Simpler parsing, better for most use cases
- **SSE**: Standard browser EventSource API compatible, useful for web applications


## Authentication

Configure API key authentication by setting the X-API-Key header:

```javascript
var GoodMemClient = require("@pairsystems/goodmem-client");

// Configure the API client
var defaultClient = GoodMemClient.ApiClient.instance;
defaultClient.basePath = "http://localhost:8080";  // Use your server URL

// Configure API key authentication
defaultClient.defaultHeaders = {
    "X-API-Key": "your-api-key-here",
    "Content-Type": "application/json",
    "Accept": "application/json"
};

// Create API instances
var apiKeysApi = new GoodMemClient.APIKeysApi();
var spacesApi = new GoodMemClient.SpacesApi();
```

### Getting an API Key

You can create an API key using the APIKeysApi:

```javascript
var createRequest = {
    labels: {
        "environment": "development",
        "service": "your-app-name"
    }
};

apiKeysApi.createApiKey(createRequest).then(function(response) {
    console.log("API Key created successfully:");
    console.log("Key ID:", response.apiKeyMetadata.apiKeyId);
    console.log("Raw API Key:", response.rawApiKey);
    console.log("Key Prefix:", response.apiKeyMetadata.keyPrefix);
}, function(error) {
    console.error("Error creating API key:", error);
});
```


## Documentation for API Endpoints

All URIs are relative to *http://localhost*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*GoodMemClient.APIKeysApi* | [**createApiKey**](docs/APIKeysApi.md#createApiKey) | **POST** /v1/apikeys | Create a new API key
*GoodMemClient.APIKeysApi* | [**deleteApiKey**](docs/APIKeysApi.md#deleteApiKey) | **DELETE** /v1/apikeys/{id} | Delete an API key
*GoodMemClient.APIKeysApi* | [**listApiKeys**](docs/APIKeysApi.md#listApiKeys) | **GET** /v1/apikeys | List API keys
*GoodMemClient.APIKeysApi* | [**updateApiKey**](docs/APIKeysApi.md#updateApiKey) | **PUT** /v1/apikeys/{id} | Update an API key
*GoodMemClient.AdministrationApi* | [**drainServer**](docs/AdministrationApi.md#drainServer) | **POST** /v1/admin:drain | Request the server to enter drain mode
*GoodMemClient.AdministrationApi* | [**purgeBackgroundJobs**](docs/AdministrationApi.md#purgeBackgroundJobs) | **POST** /v1/admin/background-jobs:purge | Purge completed background jobs
*GoodMemClient.AdministrationApi* | [**reloadLicense**](docs/AdministrationApi.md#reloadLicense) | **POST** /v1/admin/license:reload | Reload the active license from disk
*GoodMemClient.EmbeddersApi* | [**createEmbedder**](docs/EmbeddersApi.md#createEmbedder) | **POST** /v1/embedders | Create a new embedder
*GoodMemClient.EmbeddersApi* | [**deleteEmbedder**](docs/EmbeddersApi.md#deleteEmbedder) | **DELETE** /v1/embedders/{id} | Delete an embedder
*GoodMemClient.EmbeddersApi* | [**getEmbedder**](docs/EmbeddersApi.md#getEmbedder) | **GET** /v1/embedders/{id} | Get an embedder by ID
*GoodMemClient.EmbeddersApi* | [**listEmbedders**](docs/EmbeddersApi.md#listEmbedders) | **GET** /v1/embedders | List embedders
*GoodMemClient.EmbeddersApi* | [**updateEmbedder**](docs/EmbeddersApi.md#updateEmbedder) | **PUT** /v1/embedders/{id} | Update an embedder
*GoodMemClient.LLMsApi* | [**createLLM**](docs/LLMsApi.md#createLLM) | **POST** /v1/llms | Create a new LLM
*GoodMemClient.LLMsApi* | [**deleteLLM**](docs/LLMsApi.md#deleteLLM) | **DELETE** /v1/llms/{id} | Delete an LLM
*GoodMemClient.LLMsApi* | [**getLLM**](docs/LLMsApi.md#getLLM) | **GET** /v1/llms/{id} | Get an LLM by ID
*GoodMemClient.LLMsApi* | [**listLLMs**](docs/LLMsApi.md#listLLMs) | **GET** /v1/llms | List LLMs
*GoodMemClient.LLMsApi* | [**updateLLM**](docs/LLMsApi.md#updateLLM) | **PUT** /v1/llms/{id} | Update an LLM
*GoodMemClient.MemoriesApi* | [**batchCreateMemory**](docs/MemoriesApi.md#batchCreateMemory) | **POST** /v1/memories:batchCreate | Create multiple memories in a batch
*GoodMemClient.MemoriesApi* | [**batchDeleteMemory**](docs/MemoriesApi.md#batchDeleteMemory) | **POST** /v1/memories:batchDelete | Delete memories in batch
*GoodMemClient.MemoriesApi* | [**batchGetMemory**](docs/MemoriesApi.md#batchGetMemory) | **POST** /v1/memories:batchGet | Get multiple memories by ID
*GoodMemClient.MemoriesApi* | [**createMemory**](docs/MemoriesApi.md#createMemory) | **POST** /v1/memories | Create a new memory
*GoodMemClient.MemoriesApi* | [**deleteMemory**](docs/MemoriesApi.md#deleteMemory) | **DELETE** /v1/memories/{id} | Delete a memory
*GoodMemClient.MemoriesApi* | [**getMemory**](docs/MemoriesApi.md#getMemory) | **GET** /v1/memories/{id} | Get a memory by ID
*GoodMemClient.MemoriesApi* | [**getMemoryContent**](docs/MemoriesApi.md#getMemoryContent) | **GET** /v1/memories/{id}/content | Download memory content
*GoodMemClient.MemoriesApi* | [**getMemoryPageImageContent**](docs/MemoriesApi.md#getMemoryPageImageContent) | **GET** /v1/memories/{id}/pages/{pageIndex}/image | Download memory page image content
*GoodMemClient.MemoriesApi* | [**listMemories**](docs/MemoriesApi.md#listMemories) | **GET** /v1/spaces/{spaceId}/memories | List memories in a space
*GoodMemClient.MemoriesApi* | [**listMemoryPageImages**](docs/MemoriesApi.md#listMemoryPageImages) | **GET** /v1/memories/{id}/pages | List memory page images
*GoodMemClient.MemoriesApi* | [**retrieveMemory**](docs/MemoriesApi.md#retrieveMemory) | **GET** /v1/memories:retrieve | Stream semantic memory retrieval
*GoodMemClient.MemoriesApi* | [**retrieveMemoryAdvanced**](docs/MemoriesApi.md#retrieveMemoryAdvanced) | **POST** /v1/memories:retrieve | Advanced semantic memory retrieval with JSON
*GoodMemClient.OCRApi* | [**ocrDocument**](docs/OCRApi.md#ocrDocument) | **POST** /v1/ocr:document | Run OCR on a document or image
*GoodMemClient.PingApi* | [**pingOnce**](docs/PingApi.md#pingOnce) | **POST** /v1/ping:once | Run a single ping probe
*GoodMemClient.PingApi* | [**pingStream**](docs/PingApi.md#pingStream) | **POST** /v1/ping:stream | Stream ping probe results
*GoodMemClient.RerankersApi* | [**createReranker**](docs/RerankersApi.md#createReranker) | **POST** /v1/rerankers | Create a new reranker
*GoodMemClient.RerankersApi* | [**deleteReranker**](docs/RerankersApi.md#deleteReranker) | **DELETE** /v1/rerankers/{id} | Delete a reranker
*GoodMemClient.RerankersApi* | [**getReranker**](docs/RerankersApi.md#getReranker) | **GET** /v1/rerankers/{id} | Get a reranker by ID
*GoodMemClient.RerankersApi* | [**listRerankers**](docs/RerankersApi.md#listRerankers) | **GET** /v1/rerankers | List rerankers
*GoodMemClient.RerankersApi* | [**updateReranker**](docs/RerankersApi.md#updateReranker) | **PUT** /v1/rerankers/{id} | Update a reranker
*GoodMemClient.SpacesApi* | [**createSpace**](docs/SpacesApi.md#createSpace) | **POST** /v1/spaces | Create a new Space
*GoodMemClient.SpacesApi* | [**deleteSpace**](docs/SpacesApi.md#deleteSpace) | **DELETE** /v1/spaces/{id} | Delete a space
*GoodMemClient.SpacesApi* | [**getSpace**](docs/SpacesApi.md#getSpace) | **GET** /v1/spaces/{id} | Get a space by ID
*GoodMemClient.SpacesApi* | [**listSpaces**](docs/SpacesApi.md#listSpaces) | **GET** /v1/spaces | List spaces
*GoodMemClient.SpacesApi* | [**updateSpace**](docs/SpacesApi.md#updateSpace) | **PUT** /v1/spaces/{id} | Update a space
*GoodMemClient.SystemApi* | [**getSystemInfo**](docs/SystemApi.md#getSystemInfo) | **GET** /v1/system/info | Retrieve server build metadata
*GoodMemClient.SystemApi* | [**initializeSystem**](docs/SystemApi.md#initializeSystem) | **POST** /v1/system/init | Initialize the system
*GoodMemClient.UsersApi* | [**getCurrentUser**](docs/UsersApi.md#getCurrentUser) | **GET** /v1/users/me | Get current user profile
*GoodMemClient.UsersApi* | [**getUser**](docs/UsersApi.md#getUser) | **GET** /v1/users/{id} | Get a user by ID
*GoodMemClient.UsersApi* | [**getUserByEmail**](docs/UsersApi.md#getUserByEmail) | **GET** /v1/users/email/{email} | Get user by email address


## Documentation for Models

 - [GoodMemClient.AbstractReply](docs/AbstractReply.md)
 - [GoodMemClient.ActiveLicenseMetadata](docs/ActiveLicenseMetadata.md)
 - [GoodMemClient.AdminDrainRequest](docs/AdminDrainRequest.md)
 - [GoodMemClient.AdminDrainResponse](docs/AdminDrainResponse.md)
 - [GoodMemClient.AdminPurgeJobsRequest](docs/AdminPurgeJobsRequest.md)
 - [GoodMemClient.AdminPurgeJobsResponse](docs/AdminPurgeJobsResponse.md)
 - [GoodMemClient.AdminReloadLicenseResponse](docs/AdminReloadLicenseResponse.md)
 - [GoodMemClient.ApiKeyAuth](docs/ApiKeyAuth.md)
 - [GoodMemClient.ApiKeyResponse](docs/ApiKeyResponse.md)
 - [GoodMemClient.BackgroundJobAttempt](docs/BackgroundJobAttempt.md)
 - [GoodMemClient.BackgroundJobSummary](docs/BackgroundJobSummary.md)
 - [GoodMemClient.BatchDeleteMemorySelectorRequest](docs/BatchDeleteMemorySelectorRequest.md)
 - [GoodMemClient.BatchMemoryDeletionRequest](docs/BatchMemoryDeletionRequest.md)
 - [GoodMemClient.BatchMemoryResponse](docs/BatchMemoryResponse.md)
 - [GoodMemClient.BatchMemoryResult](docs/BatchMemoryResult.md)
 - [GoodMemClient.BatchMemoryRetrievalRequest](docs/BatchMemoryRetrievalRequest.md)
 - [GoodMemClient.BinaryContent](docs/BinaryContent.md)
 - [GoodMemClient.BoundingBox](docs/BoundingBox.md)
 - [GoodMemClient.ChunkReference](docs/ChunkReference.md)
 - [GoodMemClient.ChunkingConfiguration](docs/ChunkingConfiguration.md)
 - [GoodMemClient.ChunkingConfigurationOneOf](docs/ChunkingConfigurationOneOf.md)
 - [GoodMemClient.ChunkingConfigurationOneOf1](docs/ChunkingConfigurationOneOf1.md)
 - [GoodMemClient.ChunkingConfigurationOneOf2](docs/ChunkingConfigurationOneOf2.md)
 - [GoodMemClient.ContextItem](docs/ContextItem.md)
 - [GoodMemClient.ContextItemOneOf](docs/ContextItemOneOf.md)
 - [GoodMemClient.ContextItemOneOf1](docs/ContextItemOneOf1.md)
 - [GoodMemClient.CreateApiKeyRequest](docs/CreateApiKeyRequest.md)
 - [GoodMemClient.CreateApiKeyResponse](docs/CreateApiKeyResponse.md)
 - [GoodMemClient.CreateLLMResponse](docs/CreateLLMResponse.md)
 - [GoodMemClient.CredentialKind](docs/CredentialKind.md)
 - [GoodMemClient.DistributionType](docs/DistributionType.md)
 - [GoodMemClient.DocumentTimings](docs/DocumentTimings.md)
 - [GoodMemClient.EmbedderCreationRequest](docs/EmbedderCreationRequest.md)
 - [GoodMemClient.EmbedderResponse](docs/EmbedderResponse.md)
 - [GoodMemClient.EmbedderWeight](docs/EmbedderWeight.md)
 - [GoodMemClient.EndpointAuthentication](docs/EndpointAuthentication.md)
 - [GoodMemClient.ErrorDetail](docs/ErrorDetail.md)
 - [GoodMemClient.FilteredDeleteMemorySelectorRequest](docs/FilteredDeleteMemorySelectorRequest.md)
 - [GoodMemClient.GcpAdcAuth](docs/GcpAdcAuth.md)
 - [GoodMemClient.GoodMemStatus](docs/GoodMemStatus.md)
 - [GoodMemClient.HnswIterativeScan](docs/HnswIterativeScan.md)
 - [GoodMemClient.HnswOptions](docs/HnswOptions.md)
 - [GoodMemClient.ImageInfo](docs/ImageInfo.md)
 - [GoodMemClient.JsonBatchMemoryCreationRequest](docs/JsonBatchMemoryCreationRequest.md)
 - [GoodMemClient.JsonMemoryCreationContentRequirement](docs/JsonMemoryCreationContentRequirement.md)
 - [GoodMemClient.JsonMemoryCreationContentRequirementOneOf](docs/JsonMemoryCreationContentRequirementOneOf.md)
 - [GoodMemClient.JsonMemoryCreationContentRequirementOneOf1](docs/JsonMemoryCreationContentRequirementOneOf1.md)
 - [GoodMemClient.JsonMemoryCreationRequest](docs/JsonMemoryCreationRequest.md)
 - [GoodMemClient.LLMCapabilities](docs/LLMCapabilities.md)
 - [GoodMemClient.LLMCreationRequest](docs/LLMCreationRequest.md)
 - [GoodMemClient.LLMProviderType](docs/LLMProviderType.md)
 - [GoodMemClient.LLMResponse](docs/LLMResponse.md)
 - [GoodMemClient.LLMSamplingParams](docs/LLMSamplingParams.md)
 - [GoodMemClient.LLMUpdateRequest](docs/LLMUpdateRequest.md)
 - [GoodMemClient.LLMUpdateRequestNot](docs/LLMUpdateRequestNot.md)
 - [GoodMemClient.LengthMeasurement](docs/LengthMeasurement.md)
 - [GoodMemClient.ListApiKeysResponse](docs/ListApiKeysResponse.md)
 - [GoodMemClient.ListEmbeddersResponse](docs/ListEmbeddersResponse.md)
 - [GoodMemClient.ListLLMsResponse](docs/ListLLMsResponse.md)
 - [GoodMemClient.ListMemoryPageImagesResponse](docs/ListMemoryPageImagesResponse.md)
 - [GoodMemClient.ListRerankersResponse](docs/ListRerankersResponse.md)
 - [GoodMemClient.ListSpacesResponse](docs/ListSpacesResponse.md)
 - [GoodMemClient.Memory](docs/Memory.md)
 - [GoodMemClient.MemoryChunkResponse](docs/MemoryChunkResponse.md)
 - [GoodMemClient.MemoryCreationRequest](docs/MemoryCreationRequest.md)
 - [GoodMemClient.MemoryListResponse](docs/MemoryListResponse.md)
 - [GoodMemClient.MemoryPageImage](docs/MemoryPageImage.md)
 - [GoodMemClient.Modality](docs/Modality.md)
 - [GoodMemClient.OcrCategory](docs/OcrCategory.md)
 - [GoodMemClient.OcrCell](docs/OcrCell.md)
 - [GoodMemClient.OcrDocumentRequest](docs/OcrDocumentRequest.md)
 - [GoodMemClient.OcrDocumentResponse](docs/OcrDocumentResponse.md)
 - [GoodMemClient.OcrInputFormat](docs/OcrInputFormat.md)
 - [GoodMemClient.OcrLayout](docs/OcrLayout.md)
 - [GoodMemClient.OcrPage](docs/OcrPage.md)
 - [GoodMemClient.OcrPageResult](docs/OcrPageResult.md)
 - [GoodMemClient.PageTimings](docs/PageTimings.md)
 - [GoodMemClient.PingEndpointInfo](docs/PingEndpointInfo.md)
 - [GoodMemClient.PingEvent](docs/PingEvent.md)
 - [GoodMemClient.PingEventOneOf](docs/PingEventOneOf.md)
 - [GoodMemClient.PingEventOneOf1](docs/PingEventOneOf1.md)
 - [GoodMemClient.PingEventOneOf2](docs/PingEventOneOf2.md)
 - [GoodMemClient.PingNotice](docs/PingNotice.md)
 - [GoodMemClient.PingOnceRequest](docs/PingOnceRequest.md)
 - [GoodMemClient.PingPayloadType](docs/PingPayloadType.md)
 - [GoodMemClient.PingResult](docs/PingResult.md)
 - [GoodMemClient.PingStreamRequest](docs/PingStreamRequest.md)
 - [GoodMemClient.PingSummary](docs/PingSummary.md)
 - [GoodMemClient.PingTargetType](docs/PingTargetType.md)
 - [GoodMemClient.PingTiming](docs/PingTiming.md)
 - [GoodMemClient.PostProcessor](docs/PostProcessor.md)
 - [GoodMemClient.ProcessingHistory](docs/ProcessingHistory.md)
 - [GoodMemClient.ProviderType](docs/ProviderType.md)
 - [GoodMemClient.RecursiveChunkingConfiguration](docs/RecursiveChunkingConfiguration.md)
 - [GoodMemClient.RerankerCreationRequest](docs/RerankerCreationRequest.md)
 - [GoodMemClient.RerankerResponse](docs/RerankerResponse.md)
 - [GoodMemClient.ResultSetBoundary](docs/ResultSetBoundary.md)
 - [GoodMemClient.RetrieveMemoryEvent](docs/RetrieveMemoryEvent.md)
 - [GoodMemClient.RetrieveMemoryRequest](docs/RetrieveMemoryRequest.md)
 - [GoodMemClient.RetrievedItem](docs/RetrievedItem.md)
 - [GoodMemClient.RetrievedItemOneOf](docs/RetrievedItemOneOf.md)
 - [GoodMemClient.RetrievedItemOneOf1](docs/RetrievedItemOneOf1.md)
 - [GoodMemClient.RpcStatus](docs/RpcStatus.md)
 - [GoodMemClient.SecretReference](docs/SecretReference.md)
 - [GoodMemClient.SentenceChunkingConfiguration](docs/SentenceChunkingConfiguration.md)
 - [GoodMemClient.SeparatorKeepStrategy](docs/SeparatorKeepStrategy.md)
 - [GoodMemClient.SortOrder](docs/SortOrder.md)
 - [GoodMemClient.Space](docs/Space.md)
 - [GoodMemClient.SpaceCreationRequest](docs/SpaceCreationRequest.md)
 - [GoodMemClient.SpaceEmbedder](docs/SpaceEmbedder.md)
 - [GoodMemClient.SpaceEmbedderConfig](docs/SpaceEmbedderConfig.md)
 - [GoodMemClient.SpaceKey](docs/SpaceKey.md)
 - [GoodMemClient.SystemInfoResponse](docs/SystemInfoResponse.md)
 - [GoodMemClient.SystemInitResponse](docs/SystemInitResponse.md)
 - [GoodMemClient.UpdateApiKeyRequest](docs/UpdateApiKeyRequest.md)
 - [GoodMemClient.UpdateEmbedderRequest](docs/UpdateEmbedderRequest.md)
 - [GoodMemClient.UpdateRerankerRequest](docs/UpdateRerankerRequest.md)
 - [GoodMemClient.UpdateSpaceRequest](docs/UpdateSpaceRequest.md)
 - [GoodMemClient.UserResponse](docs/UserResponse.md)


## Documentation for Authorization

Authentication required - see configuration below.