"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Tools = void 0;
const toolsCreate_js_1 = require("../funcs/toolsCreate.js");
const toolsDelete_js_1 = require("../funcs/toolsDelete.js");
const toolsList_js_1 = require("../funcs/toolsList.js");
const toolsRetrieve_js_1 = require("../funcs/toolsRetrieve.js");
const toolsUpdate_js_1 = require("../funcs/toolsUpdate.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
class Tools extends sdks_js_1.ClientSDK {
    /**
     * List tools
     *
     * @remarks
     * Lists all workspace tools. By default, returns all tools in a single response. Set `limit` to enable cursor-based pagination with `starting_after` and `ending_before`.
     */
    async list(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, toolsList_js_1.toolsList)(this, request, options));
    }
    /**
     * Create tool
     *
     * @remarks
     * Creates a new tool in the workspace.
     */
    async create(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, toolsCreate_js_1.toolsCreate)(this, request, options));
    }
    /**
     * Update tool
     *
     * @remarks
     * Updates a tool in the workspace.
     */
    async update(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, toolsUpdate_js_1.toolsUpdate)(this, request, options));
    }
    /**
     * Delete tool
     *
     * @remarks
     * Deletes a tool by key.
     */
    async delete(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, toolsDelete_js_1.toolsDelete)(this, request, options));
    }
    /**
     * Retrieve tool
     *
     * @remarks
     * Retrieves a tool by id.
     */
    async retrieve(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, toolsRetrieve_js_1.toolsRetrieve)(this, request, options));
    }
}
exports.Tools = Tools;
//# sourceMappingURL=tools.js.map