UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

63 lines (62 loc) 3.26 kB
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 {};