@arizeai/phoenix-client
Version:
A client for the Phoenix API
52 lines • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.deleteExperiment = deleteExperiment;
const client_1 = require("../client");
const ensureString_1 = require("../utils/ensureString");
/**
* Delete an experiment by ID.
*
* **Important**: This operation permanently deletes the experiment and all its associated
* runs, evaluations, and annotations.
*
* Behavior:
* - Deletes the experiment and all its data
* - Returns successfully if experiment is found and deleted
* - Throws error if experiment is not found (404) or other errors occur
*
* @param params - The parameters to delete an experiment
* @returns Promise that resolves when the experiment is successfully deleted
* @throws Error if the experiment is not found or deletion fails
*
* @example
* ```ts
* import { deleteExperiment } from "@arizeai/phoenix-client/experiments";
*
* await deleteExperiment({
* experimentId: "exp_123",
* });
* ```
*/
async function deleteExperiment({ client: _client, experimentId, }) {
const client = _client !== null && _client !== void 0 ? _client : (0, client_1.createClient)();
const { error } = await client.DELETE("/v1/experiments/{experiment_id}", {
params: {
path: {
experiment_id: experimentId,
},
},
});
if (error) {
const isNotFound = typeof error === "object" &&
error !== null &&
"status" in error &&
error.status === 404;
if (isNotFound) {
throw new Error(`Experiment not found: ${experimentId}`);
}
// Extract meaningful error information
const errorMessage = (0, ensureString_1.ensureString)(error);
throw new Error(`Failed to delete experiment: ${errorMessage}`);
}
}
//# sourceMappingURL=deleteExperiment.js.map