bump-cli
Version:
The Bump CLI is used to interact with your API documentation hosted on Bump.sh by using the API of developers.bump.sh
39 lines (38 loc) • 1.35 kB
JavaScript
import debug from 'debug';
export class WorkflowDeploy {
_bump;
constructor(bumpClient) {
this._bump = bumpClient;
}
async createWorkflowVersion(mcpServer, request, token) {
const response = await this._bump.postMCPServerDeploy(mcpServer, request, token);
let version;
switch (response.status) {
case 204: {
break; // MCP server workflow document already exists
}
case 201: {
version = response.data;
break;
}
default: {
this.d(`API status response was ${response.status}. Expected 201 or 204.`);
throw new Error('Unexpected server response. Please contact support at https://bump.sh if this error persists');
}
}
return version;
}
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
d(formatter, ...args) {
return debug(`bump-cli:core:deploy`)(formatter, ...args);
}
async run(workflowDefinition, mcpServer, token) {
let version;
const request = {
definition: workflowDefinition.rawDefinition,
};
// eslint-disable-next-line prefer-const
version = await this.createWorkflowVersion(mcpServer, request, token);
return version;
}
}