"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var command_definitions_exports = {};
__export(command_definitions_exports, {
  default: () => command_definitions_default
});
module.exports = __toCommonJS(command_definitions_exports);
var config = __toESM(require("./config"));
var command_definitions_default = {
  login: { description: "Login to Botpress Cloud", schema: config.schemas.login },
  logout: { description: "Logout of Botpress Cloud", schema: config.schemas.logout },
  bots: {
    description: "Bot related commands",
    subcommands: {
      create: { description: "Create new bot", schema: config.schemas.createBot, alias: "new" },
      get: { description: "Get bot", schema: config.schemas.getBot },
      delete: { description: "Delete bot", schema: config.schemas.deleteBot, alias: "rm" },
      list: { description: "List bots", schema: config.schemas.listBots, alias: "ls" }
    }
  },
  integrations: {
    description: "Integration related commands",
    subcommands: {
      get: { description: "Get integration", schema: config.schemas.getIntegration },
      delete: { description: "Delete integration", schema: config.schemas.deleteIntegration, alias: "rm" },
      list: { description: "List integrations", schema: config.schemas.listIntegrations, alias: "ls" }
    }
  },
  interfaces: {
    description: "Interface related commands",
    subcommands: {
      get: { description: "Get interface", schema: config.schemas.getInterface },
      delete: { description: "Delete interface", schema: config.schemas.deleteInterface, alias: "rm" },
      list: { description: "List interfaces", schema: config.schemas.listInterfaces, alias: "ls" }
    }
  },
  plugins: {
    description: "Plugin related commands",
    subcommands: {
      get: { description: "Get plugin", schema: config.schemas.getPlugin },
      delete: { description: "Delete plugin", schema: config.schemas.deletePlugin, alias: "rm" },
      list: { description: "List plugins", schema: config.schemas.listPlugins, alias: "ls" }
    }
  },
  init: { description: "Initialize a new project", schema: config.schemas.init },
  generate: { description: "Generate typings for intellisense", schema: config.schemas.generate, alias: "gen" },
  bundle: { description: "Bundle a botpress project", schema: config.schemas.bundle },
  build: { description: "Generate typings and bundle a botpress project", schema: config.schemas.build },
  read: { description: "Read and parse an integration definition", schema: config.schemas.read },
  serve: { description: "Serve your project locally", schema: config.schemas.serve },
  deploy: { description: "Deploy your project to the cloud", schema: config.schemas.deploy },
  add: { description: "Install a package; could be an integration or an interface", schema: config.schemas.add },
  dev: { description: "Run your project in dev mode", schema: config.schemas.dev },
  lint: { description: "EXPERIMENTAL: Lint an integration definition", schema: config.schemas.lint },
  chat: { description: "EXPERIMENTAL: Chat with a bot directly from the CLI", schema: config.schemas.chat },
  profiles: {
    description: "Commands for using CLI profiles",
    subcommands: {
      list: { description: "List all available profiles", schema: config.schemas.listProfiles, alias: "ls" },
      active: {
        description: "Get the profile properties you are currently using",
        schema: config.schemas.activeProfile
      },
      use: {
        description: "Set the current profile",
        schema: config.schemas.useProfile
      }
    }
  }
};
//# sourceMappingURL=command-definitions.js.map
