@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
63 lines (62 loc) • 3.26 kB
TypeScript
import { SpruceSchemas } from '@sprucelabs/spruce-core-schemas';
import AbstractStore, { StoreOptions } from '../../../stores/AbstractStore';
import { CurrentSkill, RegisteredSkill } from '../../../types/cli.types';
export default class SkillStoreImpl extends AbstractStore implements SkillStore {
readonly name = "skill";
private static currentSkill?;
constructor(options: StoreOptions<SkillStoreOptions>);
static clearCurrentSkill(): void;
register(values: CreateSkill, options?: RegisterSkillOptions): Promise<RegisteredSkill>;
private assertInSkill;
loadCurrentSkill(): Promise<CurrentSkill>;
publish(options?: PublishOptions): Promise<void>;
isCurrentSkillRegistered(): Promise<boolean>;
getGoModuleName(options?: {
shouldIncludePathFromCwd?: boolean;
}): string;
private getNamespaceFromPkg;
private isGoModule;
loadCurrentSkillsNamespace(): Promise<Capitalize<string>>;
setCurrentSkillsNamespace(namespace: string): Promise<void>;
private getEventNamespaceForNotRegistered;
private getSkillDescriptionFromPkg;
unregisterSkill(skillId?: string): Promise<void>;
fetchMySkills(): Promise<Pick<import("@sprucelabs/schema").SchemaStaticValues<SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillSchema, false>>, "id" | "name" | "description" | "slug" | "isPublished" | "canBeInstalled" | "dateCreated" | "dateDeleted">[]>;
static setCurrentSkill(skill: CurrentSkill): void;
fetchAllSkills(query?: {
shouldOnlyShowMine?: boolean;
namespaces?: string[];
}): Promise<Pick<import("@sprucelabs/schema").SchemaStaticValues<SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillSchema, false>>, "id" | "name" | "description" | "slug" | "isPublished" | "canBeInstalled" | "dateCreated" | "dateDeleted">[]>;
}
export interface CreateSkill {
name: string;
slug?: string;
description?: string;
isPublished?: boolean;
}
export interface RegisterSkillOptions {
isRegisteringCurrentSkill?: boolean;
}
export interface SkillStoreOptions {
}
export interface SkillStore {
name: 'skill';
register(values: CreateSkill, options?: RegisterSkillOptions): Promise<RegisteredSkill>;
loadCurrentSkill(): Promise<CurrentSkill>;
isCurrentSkillRegistered(): Promise<boolean>;
setCurrentSkillsNamespace(namespace: string): Promise<void>;
fetchMySkills(): Promise<ListSkill[]>;
fetchAllSkills(query?: {
shouldOnlyShowMine?: boolean;
namespaces?: string[];
}): Promise<ListSkill[]>;
unregisterSkill(skillId?: string): Promise<void>;
publish(options?: {
isInstallable?: boolean;
}): Promise<void>;
}
type ListSkill = SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkill;
export interface PublishOptions {
isInstallable?: boolean;
}
export {};