@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
80 lines (79 loc) • 2.51 kB
TypeScript
import { SchemaValues } from '@sprucelabs/schema';
import AbstractAction from '../../AbstractAction';
import { FeatureActionResponse } from '../../features.types';
declare const optionsSchema: {
id: string;
description: string;
fields: {
contractDestinationDir: {
label: "Contract destination";
type: "text";
hint: "Where I will generate event contracts.";
defaultValue: "#spruce/events";
options: undefined;
};
schemaTypesLookupDir: {
label: "Schema types lookup directory";
type: "text";
hint: "Where I will lookup schema types and interfaces.";
defaultValue: "#spruce/schemas";
options: undefined;
};
shouldSyncOnlyCoreEvents: {
label: "Sync only core events";
type: "boolean";
hint: "For use in @sprucelabs/mercury-types";
options: undefined;
};
skillEventContractTypesFile: {
label: "Event signature types file";
type: "text";
defaultValue: "@sprucelabs/mercury-types/build/types/mercury.types";
options: undefined;
};
eventBuilderFile: {
label: "Event builder file";
type: "text";
defaultValue: "@sprucelabs/mercury-types";
options: undefined;
};
nameReadable: {
isRequired: true;
label: "Readable name";
type: "text";
hint: "The name people will read";
options: undefined;
};
nameKebab: {
label: string;
hint: string;
isRequired: true;
type: "text";
options: undefined;
};
nameCamel: {
isRequired: true;
label: "Camel case name";
type: "text";
hint: "camelCase version of the name";
options: undefined;
};
isGlobal: {
type: "boolean";
label: string;
hint: string;
};
version: {
type: "text";
label: string;
isPrivate: true;
};
};
};
type OptionsSchema = typeof optionsSchema;
export default class CreateAction extends AbstractAction<OptionsSchema> {
optionsSchema: OptionsSchema;
invocationMessage: string;
execute(options: SchemaValues<OptionsSchema>): Promise<FeatureActionResponse>;
}
export {};