"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.MemoryStores = void 0;
const memoryStoresCreate_js_1 = require("../funcs/memoryStoresCreate.js");
const memoryStoresCreateDocument_js_1 = require("../funcs/memoryStoresCreateDocument.js");
const memoryStoresCreateMemory_js_1 = require("../funcs/memoryStoresCreateMemory.js");
const memoryStoresDelete_js_1 = require("../funcs/memoryStoresDelete.js");
const memoryStoresDeleteDocument_js_1 = require("../funcs/memoryStoresDeleteDocument.js");
const memoryStoresDeleteMemory_js_1 = require("../funcs/memoryStoresDeleteMemory.js");
const memoryStoresList_js_1 = require("../funcs/memoryStoresList.js");
const memoryStoresListDocuments_js_1 = require("../funcs/memoryStoresListDocuments.js");
const memoryStoresListMemories_js_1 = require("../funcs/memoryStoresListMemories.js");
const memoryStoresRetrieve_js_1 = require("../funcs/memoryStoresRetrieve.js");
const memoryStoresRetrieveDocument_js_1 = require("../funcs/memoryStoresRetrieveDocument.js");
const memoryStoresRetrieveMemory_js_1 = require("../funcs/memoryStoresRetrieveMemory.js");
const memoryStoresUpdate_js_1 = require("../funcs/memoryStoresUpdate.js");
const memoryStoresUpdateDocument_js_1 = require("../funcs/memoryStoresUpdateDocument.js");
const memoryStoresUpdateMemory_js_1 = require("../funcs/memoryStoresUpdateMemory.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
class MemoryStores extends sdks_js_1.ClientSDK {
    /**
     * List memory stores
     *
     * @remarks
     * Retrieves a paginated list of memory stores in the workspace. Use cursor-based pagination parameters to navigate through the results.
     */
    async list(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresList_js_1.memoryStoresList)(this, request, options));
    }
    /**
     * Create memory store
     */
    async create(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresCreate_js_1.memoryStoresCreate)(this, request, options));
    }
    /**
     * Retrieve memory store
     *
     * @remarks
     * Retrieves detailed information about a specific memory store, including its configuration and metadata.
     */
    async retrieve(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresRetrieve_js_1.memoryStoresRetrieve)(this, request, options));
    }
    /**
     * Update memory store
     *
     * @remarks
     * Update the memory store configuration
     */
    async update(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresUpdate_js_1.memoryStoresUpdate)(this, request, options));
    }
    /**
     * Delete memory store
     *
     * @remarks
     * Permanently delete a memory store, including memories and documents.
     */
    async delete(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresDelete_js_1.memoryStoresDelete)(this, request, options));
    }
    /**
     * List all memories
     *
     * @remarks
     * Retrieves a paginated list of memories for the memory store
     */
    async listMemories(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresListMemories_js_1.memoryStoresListMemories)(this, request, options));
    }
    /**
     * Create a new memory
     *
     * @remarks
     * Creates a new memory in the specified memory store.
     */
    async createMemory(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresCreateMemory_js_1.memoryStoresCreateMemory)(this, request, options));
    }
    /**
     * Retrieve a specific memory
     *
     * @remarks
     * Retrieves details of a specific memory by its ID
     */
    async retrieveMemory(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresRetrieveMemory_js_1.memoryStoresRetrieveMemory)(this, request, options));
    }
    /**
     * Update a specific memory
     *
     * @remarks
     * Updates the details of a specific memory.
     */
    async updateMemory(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresUpdateMemory_js_1.memoryStoresUpdateMemory)(this, request, options));
    }
    /**
     * Delete a specific memory
     *
     * @remarks
     * Permanently deletes a specific memory.
     *
     *         Use this endpoint to:
     *         - Remove a memory from the store
     *         - Clean up unused memories
     *         - Manage memory storage space
     */
    async deleteMemory(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresDeleteMemory_js_1.memoryStoresDeleteMemory)(this, request, options));
    }
    /**
     * List all documents for a memory
     *
     * @remarks
     * Retrieves a paginated list of documents associated with a specific memory.
     */
    async listDocuments(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresListDocuments_js_1.memoryStoresListDocuments)(this, request, options));
    }
    /**
     * Create a new memory document
     *
     * @remarks
     * Creates a new document in the specified memory.
     */
    async createDocument(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresCreateDocument_js_1.memoryStoresCreateDocument)(this, request, options));
    }
    /**
     * Retrieve a specific memory document
     *
     * @remarks
     * Retrieves details of a specific memory document by its ID.
     */
    async retrieveDocument(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresRetrieveDocument_js_1.memoryStoresRetrieveDocument)(this, request, options));
    }
    /**
     * Update a specific memory document
     *
     * @remarks
     * Updates the details of a specific memory document.
     */
    async updateDocument(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresUpdateDocument_js_1.memoryStoresUpdateDocument)(this, request, options));
    }
    /**
     * Delete a specific memory document
     *
     * @remarks
     * Permanently deletes a specific memory document.
     *
     *         Use this endpoint to:
     *         - Remove a document from a memory
     *         - Clean up unused documents
     *         - Manage document storage space
     */
    async deleteDocument(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, memoryStoresDeleteDocument_js_1.memoryStoresDeleteDocument)(this, request, options));
    }
}
exports.MemoryStores = MemoryStores;
//# sourceMappingURL=memorystores.js.map