import { CliLeaf, CliNumberInput } from '@alwaysai/alwayscli';
import { modelIdCliInput, yesCliInput } from '../../../cli-inputs';
import { appModelsAddComponent } from '../../../components/app';
import { AppJsonFile } from '../../../core/app';
import { echo } from '../../../util';

export const addModelsAddCliLeaf = CliLeaf({
  name: 'add',
  description: 'Add a model to this application',
  positionalInput: modelIdCliInput,
  namedInputs: {
    yes: yesCliInput,
    version: CliNumberInput({
      description: 'The model version to add'
    })
  },
  async action(id, { yes, version }) {
    await appModelsAddComponent({ id, yes, version, addToProject: true });
    echo();
    const appJsonFile = AppJsonFile();
    echo(appJsonFile.describeModels());
  }
});
